$tmpVarible$=  new Field(this, "$it.target.name$", $it.target.modifiers$, "$it.typeSignature$") {

$if(it.final)$
	// skip accessing to final field (for now)
	protected native Object nativeGet(Object obj) /*-{ return null;	}-*/;
	protected native void nativeSet(Object obj, Object value)/*-{	}-*/;
$else$
	protected native Object nativeGet(Object obj) /*-{	
		$if(it.target.type.primitive)$		
		return @pl.rmalinowski.gwtreflect.client.reflect.GWTRUtil::toObject($it.typeSignature$)($if(it.notStatic)$obj.$endif$@$class.target.name$::$it.target.name$);
		$else$
		return $if(it.notStatic)$obj.$endif$@$class.target.name$::$it.target.name$;
		$endif$
	}-*/;

	protected native void nativeSet(Object obj, Object value)/*-{	
		$if(it.target.type.primitive)$		
		$if(it.notStatic)$obj.$endif$@$class.target.name$::$it.target.name$ = @pl.rmalinowski.gwtreflect.client.reflect.GWTRUtil::$it.target.type.name$Value(Ljava/lang/Object;)(value);
		$else$			
		$if(it.notStatic)$obj.$endif$@$class.target.name$::$it.target.name$ = value;	
		$endif$ 
	}-*/;
$endif$ 
};

fields.put("$it.target.name$",$tmpVarible$);